package com.weimob.mcloud.wechatwork.customer.service.user.base;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @description 【私域】
 * @Date 2021/10/21 21:43
 * @author shaowen.li
 */
public class PrivateSphereDTO implements Serializable {
    private static final long serialVersionUID = 4664444538545135174L;

    // ~~ fields
    /**
     * 私域ID
     */
    private String privateSphereId;

    /**
     * 私域名称
     */
    private String privateSphereName;

    /**
     * 产品ID
     */
    private Long productId;

    /**
     * 产品实例ID
     */
    private Long productInstanceId;

    /**
     * bosId
     */
    private Long bosId;

    /**
     *  vid list
     */
    private List<PrivateSphereVidDTO> vidList = new ArrayList<PrivateSphereVidDTO>();

    /**
     * 店铺实例ID
     */
    private Long pid;

    /**
     * 企微ID
     */
    private String corpId;

    /**
     * 状态：  0：不可用  1：可用
     */
    private Integer status;

    /**
     * 企微三方应用Id
     */
    private String suiteId;

    /**
     * 企微自建应用Id
     */
    private String agentId;

    /**
     * 扩展信息
     */
    private Map<String, Object> extInfo = new HashMap<>();


    // ~~ getter & setter
    /**
     * @return privateSphereId
     */
    public String getPrivateSphereId() {
        return privateSphereId;
    }

    /**
     * @param privateSphereId privateSphereId
     */
    public void setPrivateSphereId(String privateSphereId) {
        this.privateSphereId = privateSphereId;
    }

    /**
     * @return privateSphereName
     */
    public String getPrivateSphereName() {
        return privateSphereName;
    }

    /**
     * @param privateSphereName privateSphereName
     */
    public void setPrivateSphereName(String privateSphereName) {
        this.privateSphereName = privateSphereName;
    }

    /**
     * @return productId
     */
    public Long getProductId() {
        return productId;
    }

    /**
     * @param productId productId
     */
    public void setProductId(Long productId) {
        this.productId = productId;
    }

    /**
     * @return productInstanceId
     */
    public Long getProductInstanceId() {
        return productInstanceId;
    }

    /**
     * @param productInstanceId productInstanceId
     */
    public void setProductInstanceId(Long productInstanceId) {
        this.productInstanceId = productInstanceId;
    }

    public List<PrivateSphereVidDTO> getVidList() {
        return vidList;
    }

    public void setVidList(List<PrivateSphereVidDTO> vidList) {
        this.vidList = vidList;
    }

    /**
     * @return pid
     */
    public Long getPid() {
        return pid;
    }

    /**
     * @param pid pid
     */
    public void setPid(Long pid) {
        this.pid = pid;
    }

    /**
     * @return bosId
     */
    public Long getBosId() {
        return bosId;
    }

    /**
     * @param bosId bosId
     */
    public void setBosId(Long bosId) {
        this.bosId = bosId;
    }

    /**
     * @return extInfo
     */
    public Map<String, Object> getExtInfo() {
        return extInfo;
    }

    /**
     * @param extInfo extInfo
     */
    public void setExtInfo(Map<String, Object> extInfo) {
        this.extInfo = extInfo;
    }

    /**
     *
     * @return corpId
     */
    public String getCorpId() {
        return corpId;
    }

    /**
     *
     * @param corpId corpId
     */
    public void setCorpId(String corpId) {
        this.corpId = corpId;
    }

    /**
     *
     * @return suiteId
     */
    public String getSuiteId() {
        return suiteId;
    }

    /**
     *
     * @param suiteId suiteId
     */
    public void setSuiteId(String suiteId) {
        this.suiteId = suiteId;
    }

    /**
     *
     * @return agentId
     */
    public String getAgentId() {
        return agentId;
    }

    /**
     *
     * @param agentId agentId
     */
    public void setAgentId(String agentId) {
        this.agentId = agentId;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }
}
